var visibleDivId = -1;

function toggleLabsDiv(id) {
    $("#labsDiv_"+id).slideToggle('slow');

    if(document.cookie != null && document.cookie.indexOf("openedLabsDiv=", 0) != -1) {
        if(document.cookie.split("openedLabsDiv=")[1].split(";")[0] == id) {
            date = new Date();
            document.cookie = "openedLabsDiv=x;expires="+date.toGMTString();
            return;
        }
    }

    document.cookie = "openedLabsDiv="+id;
}

function reopenLabsDiv() {
    try {
        var id = document.cookie.split("openedLabsDiv=")[1].split(";")[0];
        $("#labsDiv_"+id).slideToggle('slow');
    } catch (e) {}
}

function directionSelectChange() {
    var directionId = document.getElementById("directionSelect").value;
    var visibleDiv;
    if(directionId != -1) {
        //document.getElementById("courseLabel").style.display = "";
        var div = document.getElementById("courseSelectDiv_"+directionId);
        if(visibleDivId != -1) {
            visibleDiv = document.getElementById("courseSelectDiv_"+visibleDivId);
            if(visibleDiv != null) {
                visibleDiv.style.display = "none";
            }
        }
        div.style.display = "";
        visibleDivId = directionId;
        div.getElementsByTagName("select")[0].selectedIndex = 0;
        document.getElementById("courseIdInput").value = -1;

        $("#inputChooseCourse").css("display", "none");

    } else {
        //document.getElementById("courseLabel").style.display = "none";
        document.getElementById("courseIdInput").value = -1;
        if(visibleDivId != -1) {
            visibleDiv = document.getElementById("courseSelectDiv_"+visibleDivId);
            if(visibleDiv != null) {
                visibleDiv.style.display = "none";
            }
        }

        $("#inputChooseCourse").css("display", "");
    }
}

function courseSelectChange(id) {
    var select = document.getElementById("courseSelect_"+id);
    document.getElementById("courseIdInput").value = select.value;
}

function addLabFormValidate() {
    try {
        var labTitleInput = document.getElementById("labTitle");
        if(labTitleInput.value == "" || labTitleInput.value == "Заполните это поле") {
            alert("Пожалуйста, введите название лабораторной работы");
            labTitleInput.value = "Заполните это поле";
            return;
        }

        if(document.getElementById("directionSelect").value == -1) {
            alert("Пожалуйста, выберите направление из списка");
            return;
        }

        if(document.getElementById("courseSelect_"+visibleDivId).value == -1) {
            alert("Пожалуйста, выберите название курса из списка");
            return;
        }

//        var number = document.getElementById("labNumber").value;
//        var exp = /^[1-9,0]+/;
//        if(!exp.test(number)) {
//            alert("В поле \"Номер\" должны быть цифры");
//            return;
//        }

        document.getElementsByName("addLabForm")[0].submit();

    } catch (e) {
//        if(confirm("Произошла ошибка валидации формы:\n"+e+"\nПожалуйста, сохраните скрин-шот и сообщите администратору.\n\nОтправить форму в обход проверки?")) {
//            document.getElementById("form").submit();
//        }
    }
}

function addLabFormReset() {
    document.getElementById("courseLabel").style.display = "none";
    var visibleDiv = document.getElementById("courseSelectDiv_"+visibleDivId);
    if(visibleDiv != null) {
        visibleDiv.style.display = "none";
    }
}

/**
 * Requests curriculum level description in a separate window
 */
function showDescription(curriculumId) {
    window.open('CurriculumDescription?id='+curriculumId, 'Описание практической работы', 'status=0, location=no, resizable=yes, scrollbars=yes, width=500, height=300');
}

/**
 * Switches list of labs typr from between plain and groupped.
 * @param listType should be "plain" or "group".
 */
function switchList(listType) {
    document.cookie="list="+listType;
    window.location.reload();
}

/**
 * "Подробнее" button clicked in a header of course div in a groupped list, prevents div from toggling
 */
function detailsClicked(evt) {
    evt = evt || window.event;
    evt.cancelBubble = true;
}

/**
 * Changes dynamic course select list
 */
function profileDirectionChanged(event) {
    var id = $(event.target).val();
    $("#courseSelect optgroup").css("display", "none");
    $("#optgroupDir_"+id).css("display", "");
    document.getElementById("courseSelect").selectedIndex = -1;
    //.attr("selectedIndex", "1");
}

/**
 * Expands description text area on mouse over
 */
function textAreaFocus() {
    function expand() {
        if(mouseIn) {
            $("#textAreaDescription").css('height', '200px');
        }
    }

    mouseIn = true;
    setTimeout(expand, 500);
}
var mouseIn = true;
/**
 * Collapses description text area on mouse out
 */
function textAreaBlur() {
    function collapse() {
        if(!mouseIn) {
            $("#textAreaDescription").css('height', '50px');
        }
    }
    mouseIn = false;
    setTimeout(collapse, 500);
}

function actionSelectChange(event, id, title) {
    switch ($(event.target).val()) {
        case "-1":
            return;
        case "1":
            window.location = "Lab?id="+id;
            break;
        case "2":
            deleteLab(id, title);
            break;
        default:
            alert("Операция временно недоступна");
            return;
    }
    $(event.target).attr("selectedIndex", 0);
        // val("-1");
}

function deleteLab(labId, title, from) {
    if(confirm("Вы действительно хотите удалить практическую работу \""+title+"\"?")) {
        var location = "DeleteLab?id="+labId;
        if(from) {
            location += "&from="+escape(from);
        }
        window.location = location;
    }
}